/*
 * -----------------------------------------------------------
 *  FECHA      HORA   NOMBRE      COMENTARIO
 * -----------------------------------------------------------
 *  14/05/08   18:00  JAVI        Creacion de la interfase
 *  18/05/08   15:42  ALEX        Implementación de la clase 
 *
 */

package net.ieslaferreria.infoCiutat;

/**
 *
 * @author Alex, Javi, David y Sergio
 */
public interface Validacio extends Aresta{

    /**
     * Diu si l'aresta compleix els requisits que indiquen els parametres de
     * cerca.
     * 
     * @param parametresCerca
     * @param aresta
     * @return Boolean
     */
    public Boolean validarParametres(ParametresCerca parametresCerca);
    
    /**
     * Calcula el valor heruristic de l'aresta
     * 
     * @param aresta
     */
    public void calculaValorHeuristic(ParametresCerca parametresCerca, Punt actual);
    
    /**
     * Retorna l'atribut comparable el cual indica el valor heuristic de
     * l'aresta.
     * 
     * @return int
     */
    public int getValorHeuristic();
    
    /**
     * Estableix el valor de l'atribut tempsRuta.
     * 
     * @param nouTemps
     */
    public void setTempsRuta(int nouTemps);
    
    /**
     * Retorna l'atribut tempsRuta.
     * 
     * @return int
     */
    public int getTempsRuta();
    
    /**
     * Diu si l'aresta es de doble sentit o només té el sentit de punt origen a
     * punt destí.
     * 
     * @param puntOrigen
     * @return Boolean
     */
    public Boolean validarSentit(Punt puntOrigen);

}
